1. Field of the Invention
The present invention relates to a trace-and-track method, and more particularly to a method for automatically controlling a feedforward type distortion compensating circuit for use in a linear amplifier operating in a high-frequency band.
2. Description of the Related Art
Heretofore, the trace-and-track method as described in "`Direct Search` Solution of Numerical and Statistical Problems" in Journal of the Association for Computing Machines, Vol. 8, pages 212 through 229, April 1961, for example, has been used as a method of controlling a distortion compensating circuit for a linear amplifier. The trace-and-track method is used to explore and follow highly accurately and automatically the optimum compensating conditions of the distortion compensating circuit for the purpose of stabilizing and keeping stable the linearity of an amplifier.
Generally, the trace-and-track method is used as a process of exploring for a point where a certain function is given at its minimum or maximum value. The trace-and-track method will be described below for use as a process of determining a minimum value of a function. The trace-and-track method is basically composed of two processing sequences. One of the procedures is an exploratory move to locate a point having a functional value less than a present functional value. The other is a pattern move in a direction where the minimum functional value determined by the exploratory move is presumed to exist.
First, the exploratory move will be described. The exploratory move is a process of giving a certain change to the vector which gives the present minimum functional value and then determining the functional value at that time. The process is repeated to determine the vector which yields a functional value smaller than the present functional value.
A flowchart of a conventional process of the exploratory move is shown in FIG. 1 of the accompanying drawings. The conventional process of the exploratory move will be described below with reference to FIG. 1. Prior to the exploratory move, the initial value of the vector which gives the present minimum functional value is given as vector Y.sub.1 (hereinafter referred to as "*Y.sub.1 "), and the functional value at this time is denoted by F(*Y.sub.1). Before a change is given to *Y.sub.1, *Y.sub.1 is stored as another variable *Y.sub.2 in a step S161. A coordinate component i is set to i=1 in a step S162. A suitable step size is set and added to *Y.sub.1, and the sum is used as new *Y.sub.1 in a step S163. The functional value F(*Y.sub.1) at *Y.sub.1 thus varied is determined, and the size of F(*Y.sub.1) and F(*Y.sub.2) are compared in a step S164. If F(*Y.sub.1) is less than F(*Y.sub.2), then a new minimum value of the function has been obtained. *Y.sub.1 is substituted for *Y.sub.2 in a step S168, and the process is ended in a step S171. If F(*Y.sub.1) is greater than or equal to F(*Y.sub.2), then a value which is twice the step size is subtracted from *Y.sub.1, i.e., the step size is subtracted from the initial value of *Y.sub.1, and the remainder is used as new *Y.sub.1 in a step S165. The functional value F(*Y.sub.1) at *Y.sub.1 thus varied is determined, and the size of F(*Y.sub.1) and F(*Y.sub.2) are compared in a step S166. If F(*Y.sub.1) is less than F(*Y.sub.2), then *Y.sub.1 is substituted for *Y.sub.2 in the step S168, and the process is ended in the step S171. If F(*Y.sub.1) is greater than or equal to F(*Y.sub.2), then the step size is added to *Y.sub.1, and the sum is used as new *Y.sub.1 in a step S167. *Y.sub.1 obtained at this time is the same as *Y.sub.1 given before the exploratory move is carried out. The above procedure is carried out with respect to each coordinate component i (i=1, 2, . . . , n) in steps S169, S170 for determining *Y.sub.2 which gives a functional value smaller than the present minimum functional value.
The pattern move will be described. The pattern move is a predictive process for locating the minimum functional value more effectively and accurately than a simple tracing process. The pattern move, based on the vector which gives the latest minimum functional value determined by the exploratory move and the vector which has been given the minimum functional value before the exploratory move was carried out, predicts the direction in which a vector which gives a smaller functional value exists. Therefore the vector is changed toward that direction.
FIG. 2 of the accompanying drawings is a flowchart of a conventional trace-and-track method. A process of predicting a point which gives a minimum value of discretionary function will be described below with reference to FIG. 2. When an arbitrarily chosen initial base point *X.sub.1 is given, a functional value F(*X.sub.1) at the base point is determined in a step S241. Using *X.sub.1 as a reference, the exploratory move described above with reference to FIG. 1 is carried out. If the vector which gives the minimum functional value obtained by the exploratory move is represented by *X.sub.2, then a functional value F(*X.sub.2) at this time is obtained in a step S242.
Now, F(*X.sub.1) and F(*X.sub.2) are compared in a step S243. If F(*X.sub.2) is greater than or equal to F(*X.sub.1), i.e., or if a new vector which gives a functional value less than the functional value given by the present base point vector is not obtained by the exploratory move, then the exploratory move is considered as failure. So the step size used in the exploratory move and a step size threshold value 5 are compared in a step S244. If the step size is smaller than the step size threshold value .delta., then since sufficient minimum value is found, and the process is ended in a step S245. If the step size is greater than or equal to the step size threshold value .delta., then the step size is decreased in a step S246, and the step S242 and the following steps are repeated.
If F(*X.sub.2) is smaller than F(*X.sub.1) in the step S243, then the exploratory move is considered as success. *X.sub.1 is substituted for *X.sub.0, and *X.sub.2 is substituted for *X.sub.1 in a step S247, and the pattern move is carried out in a step S248. That is, the differential vector between *X.sub.1 and *X.sub.0 is added to *X.sub.1, and the sum is substituted for *X.sub.2, determining the functional value F(*X.sub.2). Using *X.sub.2 as a reference, the exploratory move described above with reference to FIG. 1 is carried out, and the minimum functional value obtained is represented by F(*X.sub.3) in a step S249.
Then, F(*X.sub.3) and F(*X.sub.2) are compared in a step S250. If F(*X.sub.3) is greater than or equal to F(*X.sub.2), then the pattern move and the exploratory move are considered as failures, and the step S242 and the following steps are repeated. If F(*X.sub.3) is smaller than F(*X.sub.2), i.e., or if a new minimum functional value is located, X.sub.3 is substituted for *X.sub.2 in a step S251, and the step S247 and the following steps are repeated.
The process described above with reference to FIG. 2 is repeated until the step size becomes smaller than the step size threshold value 6.
According to the conventional trace-and-track method, the exploration is finished in the step S171 when the first vector which gives the functional value less than the present minimum functional value is located in the step S164. Therefore, the conventional trace-and-track method has a problem in that no minimum functional value can be obtained if the functional value given by the vector obtained in the step S165 is smaller than the functional value given by the vector obtained in the step S163.
Furthermore, the process is finished in the step S245 when the step size becomes smaller than the step size threshold value .delta. in the step S244, thus there is a problem in that the process is possibly ended with no sufficient minimum functional value obtained.
The exploration is continuously carried out in the step S249 without any evaluation of the functional value given by the vector that is obtained by the pattern move in the step S248. Consequently, a problem arises in that the functional value nay possibly increase temporarily when the functional value after the pattern move in the step S248 exceeds the present minimum functional value and only the functional value greater than or equal to the present minimum functional value is obtained by the next exploration in the step S249.
In the case where the algorithm of the conventional trace-and-track method is used as the process of controlling the distortion compensating circuit, an increase and decrease in the functional value corresponds to an increase and decrease in the distortion of an output signal from the distortion compensating circuit. Therefore, in the process of minimizing the distortion according to the conventional trace-and-track method, the distortion level increases and decreases by a greater degree, causing the quality of communications to deteriorate.